import static java.lang.System.out;
import java.util.GregorianCalendar;

public class Test {

	public static void main(String[] ars) {
		
		CourseManager coursemanager = new CourseManager();
		
		final String PASSED = "PASSED";
		final String FAILED = "FAILED";
		final String BREAKER = "___________________________";
			
//		TestCase
//		out.println("TestCase #?? -Title-");
//		if () {
//			out.println("TestCase #??: " + PASSED);
//		} else {
//			out.println("TestCase #??: " + FAILED);
//		}
//		out.println(-print-);
//		out.println(-print-);
//		out.println(BREAKER);
		
		out.println("Professoren:");		
		coursemanager.addUser("p234", "Hans", "Langhals");
		out.println(coursemanager.getPerson("p234"));
		coursemanager.addUser("p345", "Ottmar", "Müller");
		out.println(coursemanager.getPerson("p345"));
		coursemanager.addUser("p456", "Heinrich", "Roland");
		out.println(coursemanager.getPerson("p456"));
		out.println(BREAKER);
		
		out.println("Studenten:");		
		coursemanager.addUser("s123456", "Herman", "Schmith");
		out.println(coursemanager.getPerson("s123456"));
		coursemanager.addUser("s234567", "Rüdiger", "Stein");
		out.println(coursemanager.getPerson("s234567"));
		coursemanager.addUser("s345678", "Jonny", "Bravo");
		out.println(coursemanager.getPerson("s345678"));
		out.println(BREAKER);
		
		out.println("Course:");		
		coursemanager.addCourse("VO", "100.110", "Einfuhrung in das Testen 0", 3.0, 2.0, new GregorianCalendar(2010, 10-1, 20),new GregorianCalendar(2011,1-1,30), new GregorianCalendar(2011,2-1,10), "p234"); //to early		
		coursemanager.addCourse("VO", "100.120", "Einfuhrung in das Testen 1", 3.0, 2.0, new GregorianCalendar(2011, 10-1, 20),new GregorianCalendar(2012,1-1,30), new GregorianCalendar(2012,2-1,10), "p345"); //passt
		coursemanager.addRequirements("100.120", "100.110");
		coursemanager.addCourse("VO", "100.130", "Einfuhrung in das Testen 2", 3.0, 2.0, new GregorianCalendar(2013, 10-1, 20),new GregorianCalendar(2013,1-1,30), new GregorianCalendar(2013,2-1,10), "p456"); //to late
		out.println(coursemanager);
		out.println(BREAKER);
		
//		out.println("Zeugnisse ausstellen:");
//		stud_a.makeCertificate(coursemanager.getCourse("100.110"), 2, professor_a);
//		out.println(stud_a.listCertificates());
//		stud_b.makeCertificate(coursemanager.getCourse("100.110"), 1, professor_a);
//		out.println(stud_b.listCertificates());
//		out.println(BREAKER);
		
//		out.println("TestCase #00 Anmelden mit erfüllter voraussetzung");
//		if (coursemanager.enroll("100.120", stud_a)) {
//			out.println("TestCase #00: " + PASSED);
//		} else {
//			out.println("TestCase #00: " + FAILED);
//		}
//		out.println(coursemanager);
//		out.println(coursemanager.getStudents("100.120"));
//		out.println(BREAKER);
//		
//		out.println("TestCase #01 Anmelden mit erfüllter voraussetzung");
//		if (coursemanager.enroll("100.120", stud_b)) {
//			out.println("TestCase #01: " + PASSED);
//		} else {
//			out.println("TestCase #01: " + FAILED);
//		}
//		out.println(coursemanager);
//		out.println(coursemanager.getStudents("100.120"));
//		out.println(BREAKER);
//		
//		out.println("TestCase #02 Anmelden ohne erfüllter voraussetzung");
//		if (!coursemanager.enroll("100.120", stud_c)) {
//			out.println("TestCase #02: " + PASSED);
//		} else {
//			out.println("TestCase #02: " + FAILED);
//		}
//		out.println(coursemanager);
//		out.println(coursemanager.getStudents("100.120"));
//		out.println(BREAKER);
		
//		coursemanager.save();
		
		
		
	}

}
